#include "InetAddress.hpp"
#include <netinet/in.h>
#include <sys/socket.h>

namespace wd{

InetAddress::InetAddress(int port, string ip){
   memset(&_addr,0,sizeof(_addr));
   _addr.sin_port = htons(port);
   _addr.sin_family = AF_INET;
   _addr.sin_addr.s_addr = inet_addr(ip.c_str());
}

InetAddress::InetAddress(const struct sockaddr_in &addr)
:_addr(addr){

}

string InetAddress::ip(){
    return inet_ntoa(_addr.sin_addr);
}

unsigned short InetAddress::port(){
    return ntohs(_addr.sin_port);
}

struct sockaddr_in * InetAddress::getInetAddrptr(){
    return &_addr;
}

}
